package com.wzdigit.wms.basic.client.response.transfer;

import com.fasterxml.jackson.annotation.JsonIgnoreProperties;
import com.fasterxml.jackson.annotation.JsonInclude;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;

import java.io.Serializable;
import java.math.BigDecimal;
import java.util.Date;
import java.util.List;

/**
 * @ClassName GdnCtnrResponse
 * @Description 发货装运vo
 * @Author LHR-PC
 * @Date 2021/3/6 15:32
 * @Version
 **/
@Data
@JsonInclude(JsonInclude.Include.NON_NULL)
@JsonIgnoreProperties(value = { "hibernateLazyInitializer", "handler", "fieldHandler" }, ignoreUnknown = false)
public class GdnCtnrResponse implements Serializable {

    /**
     * 发货单单号
     */
    @ApiModelProperty("发货单单号")
    private String gdnNo;

    /**
     * 状态（明细行只存在装柜中(6)则显示“装柜中”，否则显示“已拣货”）
     */
    @ApiModelProperty(value = "主档状态",hidden = true)
    private Integer headerStatus;

    /**
     * 主档状态描述
     */
    @ApiModelProperty("主档状态描述,明细行只存在装柜中(6)则显示“装柜中”，否则显示“已拣货”")
    private String headerStatusDesc;

    /**
     * 参考柜号
     */
    @ApiModelProperty("参考柜号")
    private String refCntrNo;

    /**
     * 客户ID
     */
    @ApiModelProperty("客户ID")
    private Integer customer;

    /**
     * 客户ID
     */
    @ApiModelProperty("客户名称")
    private String customerName;

    /**
     * 需求数量:发货单明细(WMS_GDN_DTL)的订单数量(ORDER_QTY)汇总
     */
    @ApiModelProperty("需求数量")
    private BigDecimal orderQtySum;

    /**
     * 发货单明细(WMS_GDN_DTL)的拣货数量(PICK_QTY)汇总
     */
    @ApiModelProperty("已捡数量")
    private BigDecimal pickQtySum;

    /**
     * 已装数量：统计页面的【已扫数量】，不是统计发货单明细(WMS_GDN_DTL)的发货数量(SHIP_QTY)汇总,或者统计装柜单明细数量
     */
    @ApiModelProperty("已装数量,统计页面的【已扫数量】，或者统计装柜单明细数量")
    private BigDecimal cmpQtySum;

    /**
     * 发运单明细列表
     */
    @ApiModelProperty("发运单明细列表")
    List<GdnCtnrDtlResponse> gdnCtnrDtlResponseList;

    /**
     * SN明细列表
     */
    @ApiModelProperty("SN明细列表")
    List<GdnDtlGoodsListResponse> goodsDtoList;

    /**
     * 发货日期
     */
    @ApiModelProperty("发货日期")
    private Date shipDate;

    /**
     * 实际柜号
     */
    @ApiModelProperty(value = "实际柜号")
    private String cntrNo;

    /**
     * 发货单单头ID
     */
    @ApiModelProperty(value = "发货单单头ID")
    private Long gdnHeaderId;
}
